package main

import "fmt"

func main() {
	//x:=1
	//p:=& x // p 的类型是*int ，p指针指向x
	//fmt.Println(*p) //直接输出p 则是内存地址(0xc0420080b8)，*p 就是值

	var x,y int
	fmt.Println(&x==&x,&x==&y,&x==nil)//任何指针零值都是nil，如果x!=nil为真，则x是指向有效变量

	var p = f()//此时v依然有效
	fmt.Println(f() == f(),p) // 每次都返回不同的指针，false
}
func f() *int {
	v := 1
	return &v
}
func incr(p *int) int {
	*p++ // 非常重要：叧是增加p 挃向癿发量癿值，幵丌改发p 挃针！！！
	return *p
}